package com.xbongbong.pro.statistic.pojo;

import com.alibaba.fastjson.JSONObject;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.Map;

/**
 * @author 梁鲁江
 * @version v1.0
 * @date 2019/1/25 21:45
 * @since v1.0
 */
@Setter
@Getter
@ToString
public class ExplainsPojo implements Serializable{
    private static final long serialVersionUID = -8416382937079615578L;
    /**
     * 是否冻结列
     */
    private Integer frozeColumDone;

    /**
     * 是否冻结行
     */
    private Integer frozeRowDone;
    /**
     * 冻结的列内容
     */
    private JSONObject frozeColum;
    /**
     * 图表的位置信息  categoryId对应位置信息
     * {
     *       //categoryId   position
     *      "1234" : {"h": 3, "i": "a79817cd-1efa-d808-fd58-d03d4ffd4427", "w": 2, "x": 0, "y": 0, "moved": false}
     * }
     */
    private JSONObject position;
    /**
     *当单位选择自定义的时候，用来存储自定义的值
     */
    private String  unitValue;

    /**
     * 移动端图表位置信息  categoryId对应位置信息
     * {
     *       //categoryId   position
     *      "1234" : {"h": 3, "i": "a79817cd-1efa-d808-fd58-d03d4ffd4427", "w": 2, "x": 0, "y": 0, "moved": false}
     * }
     */
    private JSONObject appPosition;
    /**
     * 移动端是否隐藏 0-为隐藏 1-为显示， 为null代表显示
     */
    private Integer appHide;

    /**
     * 数据标签是否启用  1-数据标签展示  2-饼图只展示值 3-饼图只展示百分比 4-饼图展示值和百分比
     */
    private Integer dataLabelFlag;

    /**
     * 排序
     */
    private Map<String, String> sortMap;

    /**
     * 默认排序是否开启
     */
    private Boolean changeless;
    /**
     * 平均线
     */
    private Integer averageLine;
    /**
     * 自定义地图
     */
    private JSONObject map;
    /**
     * 自定义漏斗图
     */
    private JSONObject funnel;
    /**
     * 前端地图需要信息
     */
    private String mapDistrict;

    /**
     * 图表交互按钮集合
     * 对象内key值基于枚举：{@link com.xbongbong.pro.statistic.enums.ChartOperateEnum}，有时候直接从json内读取，直接使用constant{@link com.xbongbong.pro.statistic.constant.ChartCommonConstant#CHART_EXPLAINS_OP}
     */
    private JSONObject op;
}
